package Class_05_15;

import java.io.File;
import java.io.IOException;

public class Creator {
    public static void main(String[] args) throws IOException {
        //对于创建功能的方法，如果合法路径对应的文件不存在，就创建该文件并返回true；如果该文件已经存在，就不创建，返回false。
        //其实对于 删除功能 和 判断功能 的方法，返回值类型也为boolean类型。
        //常见三种创建方式：
        //createNewFile() : 见名知意，就是创建一个新文件。(根据当前File类对象对应的路径创建文件)
        //mkdir(): 创建目录(即文件夹)，但只能是单级目录。
        //mkdirs(): 创建目录(即文件夹)，但既可以是单级目录，又可以是多级目录。

        //PS : mkdir其实就是make directory的缩写。

        //演示三种创建方式:
        //1.createNewFile():
        /*
            注意1.txt这个文件是不存在的，但是我们可以通过file1.createNewFile()方法，
            创建file1对象对应的文件，即1.txt文件
         */
        File file1 = new File("D:\\code\\1.txt");//创建文件，只是在内存中创建了这个类，还没有与磁盘联系
        boolean bool1 = file1.createNewFile();//真正创建文件
        boolean bool1ex = file1.createNewFile();//相同的文件对象只能成功创建一次。除非你删了它。

        System.out.println("创建1.txt文件成功了吗：" + bool1);//第一次创建成功，是true。
        System.out.println("文件已经存在，创建1.txt文件成功了吗：" + bool1ex);//第二次输出就是false了，因为已经存在。
        System.out.println();

        //2.mkdir:
        File file2 = new File("D:\\code\\1.txt但目录");
        boolean bool2 = file2.mkdir();

        System.out.println("创建1.txt目录情况如何:" + bool2);
        System.out.println();

        //3.mkdirs:
        File file3 = new File("D:\\code\\我是目录\\a\\b");
        boolean bool3 = file3.mkdirs();

        System.out.println("创建多级目录成功了没有：" + bool3);

    }
}
